Method and System for Internet Advertising Administration Using a Unified User Interface

ABSTRACT

An internet advertising campaign is administered. Campaign configuration data is received. A selection of publishers to run the campaign is received. The campaign configuration data is adjusted according to abstraction rules to conform to campaign requirements for each of the publishers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to provisional U.S. Patent Application Ser. No. 61/088,966, filed on Aug. 14, 2008 and entitled “Method and System for Optimization, Automation, and Administration,” the disclosure of which is hereby incorporated herein by reference.

FIELD OF THE INVENTION

The present application relates to Internet advertising and, in particular, a system and method for utilizing a unified user interface.

BACKGROUND

Many persons use the Internet to makes purchases. In the purchasing process, users may employ search engines and browse web sites to find desired products and services. Thus, many businesses offering products and services often list advertisements on search engines and web sites to gain exposure to potential customers.

These businesses, or advertisers, place text advertisements and/or graphical advertisements, also called display advertisements, with search engines, ad networks and publisher web sites. Ads may be purchased on a pay per click (PPC), also called cost per click (CPC) basis or a cost per impression (CPM) basis. The advertiser defines a number of parameters which determine when and where the ads are displayed. These parameters typically include one or more of the following: keyword (i.e. one or more words deemed relevant to their targeted customers), keyword match type, bid amount, geography, day parting, target demographics, and other parameters.

On search engines, when a user enters one or more words, called a search term, for a search engine query, the search engine matches the search term with a list of keywords on which advertisers have placed ads. The advertisements of the advertisers whose keywords match the search term will appear adjacent search results for the search term based on the parameters, most notably advertisements of the highest bidders typically appear near the top of the search results.

On publisher web sites and ad (advertisement) networks placing ads on publisher web sites, ads are displayed on the web sites based on these parameters, sometimes matching advertisements with the content displayed on the web page for improved targeting.

SUMMARY

Systems, methods, and computer readable products in accordance with the present invention are described herein. Some embodiments are summarized in this section

In one embodiment, an internet advertising campaign is administered. Campaign configuration data is received. A selection of publishers to place ads with, for the campaign, is received. The campaign configuration data is adjusted according to abstraction rules to conform to campaign requirements for each of the publishers.

Many other features and embodiments of the present invention will be apparent from the accompanying drawings and from the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example and not limited in the figures of the accompanying drawings in which like references indicate similar elements.

FIG. 1 illustrates a system of Internet advertising administration using a unified user interface in accordance with one embodiment of the present invention.

FIG. 2 illustrates the hierarchical structure of an internet marketing campaign in accordance with one embodiment of the present invention.

FIG. 3 illustrates a system of Internet advertising administration using a unified user interface in accordance with one embodiment of the present invention.

FIG. 4 illustrates a method of creating a campaign in accordance with one embodiment of the present invention.

FIG. 5 illustrates a method of handling a campaign in accordance with one embodiment of the present invention.

FIG. 6 illustrates a display to import a campaign in accordance with one embodiment of the present invention.

FIG. 7 illustrates a display to view campaign results in accordance with one embodiment of the present invention.

FIG. 8 illustrates a display to administer campaign settings in accordance with one embodiment of the present invention.

FIG. 9 illustrates a display to manage keywords in accordance with one embodiment of the present invention.

FIG. 10 illustrates a display to add keywords in accordance with one embodiment of the present invention.

FIG. 11 illustrates a display to edit keyword parameters in accordance with one embodiment of the present invention.

FIG. 12 illustrates a display to manage advertisements in accordance with one embodiment of the present invention.

FIG. 13 illustrates a display to administer geotargeting in accordance with one embodiment of the present invention.

FIG. 14 illustrates a display to manage a campaign budget in accordance with one embodiment of the present invention.

FIG. 15 illustrates a block diagram of one embodiment of a system in accordance with one embodiment of the present invention.

FIG. 16 shows a diagrammatic representation of a machine in an exemplary form of a computer system in accordance with one embodiment of the present invention.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the disclosure can be practiced without these specific details. In some instances, structures and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams are shown to represent data and logic flows.

Reference in this specification to “one embodiment,” “an embodiment,” “other embodiments,” or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of, for example, the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.

Moreover, whether or not there is express reference to an “embodiment” or the like, various features are described which may be variously combined and included in some embodiments but also variously omitted in other embodiments. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.

The present invention is systems and methods of Internet advertising administration using a unified user interface. The present invention includes systems and methods for setting up, administering and publishing internet advertising campaigns. The present invention further includes systems and methods for expanding keywords to publisher-specific variants, placing advertisements and aggregating advertising results into a unified user interface.

FIG. 1 illustrates a system 100 of Internet advertising administration using a unified user interface. In one embodiment, the present invention can be used in connection with a variety of publishers. In another embodiment, the present invention can be used in connection with a variety of campaigns.

The system 100 includes user computing devices 102, a company web server 104, search engines 106, ad networks, 108, publisher web sites 110, third party data sources 112, internet 114, and a platform 116. The platform 116 includes web servers 118, a business logic server 120, a tracking server 122, a database server 124 and an analytics server 126. An administrator can access the internet 114 via user computing devices 102 and use the functionality of the platform 110. The administrator can administer internet advertising campaigns across multiple search engines 106, ad networks 108, and publisher web sites 110 (individually and collectively referred to as “publisher” or “publishers”). The data from administering campaigns, campaign configuration data, is routed through the web servers 118 to the business logic server 120 and stored in the database server 124.

Using campaign configuration data and expanding the campaign configuration data based on abstraction rules, as discussed in more detail below, the business logic server 120, via the web server 118 and the internet 114, places advertisements with search engines 106, ad networks 108 and publisher web sites 110 directing traffic to the web site on the company web server 104. Ad networks 108 place ads with publisher web sites 110 via the internet 114.

End users access the internet 114 via user computing devices 102, and click on advertisements on search engines 106 and publisher web sites 110 and are directed to the web site on the company web server 104. The web site on the company web server 104 may have tracking code and/or conversion code that is passed through the internet 114 to the web browser on the user computing device 102. The tracking code is executed and sends information (i.e., tracking data) via the internet 114 and web servers 118 to the tracking server 122 which stores the information in the database server 124. In one embodiment, tracking data can include, for example, information about the end user, information about the user computer device 102 used by the end user, key words entered into a search engine by the end user, the previous web page from which the end user navigated, the type of browser running on the user computer device 102, the operating system of the user computer device, etc. The conversion code is executed when the end user completes a desired action (e.g., purchases a product, requests a sales call, subscribes to an email newsletter, etc.) and sends information (i.e., conversion data) via the internet 114 and the web servers 118 to the tracking server 122 which stores the information in the database server 124. In one embodiment, the conversion data can include, for example, the desired action that was taken, a monetary value associated with the action (e.g., the total price of items purchased), etc. The analytics server 126 processes and aggregates the tracking data and the conversion data stored in the database server 124 by the tracking server 122.

The business logic server 120 obtains the tracking data, the conversion data, as well as data from the ad networks 108, the publisher websites 110, and the third party data sources 112. The business logic server 120 aggregates the tracking data from the tracking server 122, some of which may be processed by the analytics server 126 and stored in the database server 124. The aggregation of the tracking data, the conversion data, as well as data from the ad networks 108, the publisher websites 110, and the third party data sources 112, as performed by the analytics server 126, results in statistical data that can be viewed via user computing devices 102, the internet 114, and the web servers 118 by accessing the business logic server 120.

FIG. 2 illustrates a hierarchical structure 200 of an internet marketing campaign. The structure 200 includes a campaign 202. The campaign 202 includes advertisements 204, keywords 206 and targeting information 208.

A campaign 202 represents the primary principal structure for administering internet advertising. A campaign 202 may have one or more of each of the following elements: advertisements 204, keywords 206 and targeting info 208. In one embodiment, advertisements may be graphical. In another embodiment, advertisements may be text. In one embodiment, targeting info 208 can include geographic targeting, day-parting, behavioral targeting, demographic targeting, amongst others. In one embodiment, campaign elements may be organized into groups. In one embodiment campaigns may have other elements.

FIG. 3 illustrates a system 300 of internet advertising administration using a unified user interface. The system 300 includes an administrator computer 302, a user interface 326, a campaign database 306, a business logic server 308, a file 310, third party data sources 312, a statistics database 314, publisher credentials 316, abstraction database 318, publisher systems 320, a tracking database 322 and end user computers 324. The user interface 326 includes of campaign configuration screens 304 and campaign results screens 328.

In one embodiment, the databases (and components) in FIG. 3 may be combined into one or a plurality of databases (and components).

In one embodiment, the administrator computer 302 and the end user computers 324 are included in the user computing devices 102. In one embodiment, the campaign database 306, publisher credentials 316, abstraction database 318, statistics database 314 and tracking database 322 are included in the database server 124. In one embodiment the business logic server 308 is the business logic server 120. In one embodiment, the third party data sources 312 are the third party data sources 112. In one embodiment, the publisher systems 320 include search engines 106, ad networks 108 and publisher web sites 110.

Using the administrator computer 302, an administrator can configure one or more campaigns using the campaign configuration screens 304. In one embodiment, the administrator specifies credentials (e.g. username, password, token, etc.) which are stored in the publisher credentials database 316 and enable the business logic server 308 to automatically place campaigns with the publisher systems 320. In one embodiment, the publisher systems 320 may be accessed using published interfaces, or APIs.

In one embodiment, the administrator using the campaign configuration screens 304 also specifies the campaign configuration data which is stored in the campaign database 306. The campaign configuration data may be manually provided using the administration computer 302.

In one embodiment, the administrator can use the campaign configuration screens 304 to import a campaign from an external file 310. In one embodiment, the file 310 is a comma separated values (CSV) file. The business logic server 308 reads the file 310, parses it to obtain the campaign configuration data and inserts the campaign configuration data into the campaign database 306.

In one embodiment, the business logic server 308 can automatically create campaigns based on data from the statistics database 314, the third party data sources 312 and the publisher systems 320.

In one embodiment, the campaign configuration data can include information such as campaign name, campaign settings, keywords, keyword settings (e.g., bid range, match type, target rank, etc.), negative keywords, ads, ad groups, targeting, budget and other parameters. The foregoing is an inclusive list, and it will be appreciated that the campaign configuration data can include other parameters as well. In one embodiment, the administrator does not have to specify any ad groups and can associate data (e.g., keywords, ads, etc.) directly with a campaign and the platform 116 will create ad groups. In one embodiment, budget may be a daily budget. In another embodiment, budget may be a monthly budget. The administrator using the campaign configuration screens 304 can then add, edit and delete any of the imported campaign configuration data. In one embodiment, the business logic server 308 can recommend or automatically implement edits to the campaign including recommending keywords, recommending negative keywords, suggesting targeting, creating ad groups, reorganizing ad groups, disabling ineffective ads, disabling ineffective keywords, and other edits. Using the campaign configuration screens 304, the administrator can then activate the campaign which instructs the business logic server 308 to synchronize the campaign with the publisher systems 320 and commence advertising. The administrator can enable or disable spending for any campaign and/or publisher as well as disable spending for all campaigns with all publisher systems 320.

In one embodiment, the campaign configuration data will be used across all publisher systems 320 (search engines, ad networks and publisher web sites). In one embodiment, the administrator can specify that some campaign configuration data is used for zero, one or more publishers, while other campaign configuration data is used for other publishers. For example, the administrator can specify a maximum bid of $2 for one search engine while specifying a maximum bid of $3 for another search engine. The business logic server 308 reads the campaign configuration data from the campaign database 306 and then modifies the campaign configuration data based on the abstraction rules in the abstraction database 318. In one embodiment, the abstraction rules adjust the campaign configuration data to accommodate or conform to the specific requirements of the search engines 106, the ad networks 108, the publisher web sites 110, as well as other possible publishers of the ad campaign. Since each of the search engines 106, the ad networks, and the publisher web sites 110 accepts different inputs and parameters and uses each in a different way, the platform 116 automatically adjusts the campaign configuration data to meet the requirements of each publisher.

The abstraction rules provide many benefits in the set up, administration, and publishing of internet advertising campaigns. For example, the abstraction rules allow the design of a unified user interface that efficiently provides a streamlined, single campaign configuration screen, or set of screens, to handle the campaign configuration data, as described in more detail below, without the need to provide a multitude of dedicated screens for every possible search engine or other publisher. Thus, the abstraction rules avoid the added burden and expense of needing to design and deliver dedicated user interfaces specific to a particular publisher and also requiring the user to arduously complete disparate information fields for each of the many dedicated user interfaces.

Further, the abstraction rules allow the administrator to set up, administer, and publish an Internet advertising campaign once for a plurality of search engines or other publishers. There is no need to separately set up, administer, and publish a campaign with each publisher. Thus, significant cost and burden can be avoided in the management of advertising campaigns. For example, the need to visit and interact with campaign management pages for administering ads for one publisher and thereafter visit and interact with campaign management pages for administering ads for another publisher, and so on, can be avoided. The abstraction rules allow management of various campaigns to be run by numerous search engines and publishers to be unified and centralized.

In one embodiment, the abstraction rules include adjusting the campaign to perform more targeted advertising and measurement, for example, by expanding keywords into match-type variants by associating each keyword with one or more match types (e.g., broad match, phrase match, exact match, etc.) used by a publisher and bidding on each variant separately. Exemplary match types may include, for example, “exact” match, “phrase” match, and “broad” match. For “exact” match, a search term entered by a user for a search must exactly match a keyword. For “phrase” match, a search term entered by a user for a search is the same as or includes a keyword. For “broad” match, a search term entered by a user for a search need only be associated with a keyword by a predetermined relationship. In one embodiment, one or more match types of broader or narrower scope may be used. The presence of a match for a selected match type results in an associated advertisement appearing as an advertisement for any search where the search term contains the keyword or a variation of the keyword based on the match type.

Various search engines may allow or require different match types for keywords. By way of example, the search engine for Google may allow a broad match, a phrase match, and an exact match, while the search engine for Yahoo may allow only one match type. Thus, according to the abstraction rules, one keyword may be expanded into three variants to adjust to Google requirements (i.e., one for broad Match, one for phrase Match and one for exact match) while the keyword may be associated with only one match type to conform to Yahoo requirements. In one embodiment, the expansion of a keyword into variants may be performed automatically. In one embodiment, the automatic expansion of a keyword into variants is performed as a default. In one embodiment, the platform 116 may allow the administrator to override the default so that the administrator can manually specify a specific match type for each publisher.

In one embodiment, the abstraction rules may include assembly of variants by associating each keyword with each match type and each ad in the same campaign or ad group as the keyword. For example, for a particular keyword, a broad match, a phrase match, and an exact match may be obtained for a first publisher; a broad match, a phrase match, and an exact match may be obtained for a second publisher; and, a broad match may be obtained for a third publisher.

In one embodiment, the abstraction rules may include modification of the campaign configuration data to consolidate singular and plural forms of keywords for one or more publishers, as may be required for or preferred by some publishers.

In one embodiment, the abstraction rules may include modification of the campaign configuration data to consolidate close variants of keywords (e.g., “run,” “ran” “running,” etc.) to their canonical form (e.g., “run”) for one or more publishers, as may be required for or preferred by some publishers.

In one embodiment, the abstraction rules may include modification of the campaign configuration data to expand keywords to close grammatical variants (e.g. plural forms, noun vs. verb, etc.) for one or more publishers.

In one embodiment, the abstraction rules may include modification of the text length of an advertisement to accommodate the requirements of a publisher. For example, a publisher may have a limit of 70 text characters for an advertisement. If the advertisement provided by the administrator has more than 70 text characters, the platform 116 may modify the advertisement by abbreviating its text length to 70 text characters or less to conform to the requirement of the publisher. As another example, a different publisher may have a requirement that text for an advertisement be segmented into two portions with each portion having a text length limit of 35 text characters. If the advertisement of the user originally contained an unsegmented whole of 70 text characters, then the platform 116 may modify the advertisement by appropriately splitting the text characters into two portions and then further modifying each portion to have 35 text characters or less. The foregoing examples are illustrative, and one abstraction rule may modify campaign configuration data for one publisher, for example, truncating an advertisement at 70 characters, and another abstraction rule may modify the same configuration data in a different manner for another publisher, for example, truncating an advertisement at two lines of 35 characters each. Further, in one embodiment, the abstraction rules may modify advertisement text itself.

It should be understood that the abstraction rules discussed herein are merely exemplary and inclusive, and are not intended to be an exhaustive listing. In one embodiment, the abstraction rules may additionally include any other actions by the platform 116 to accommodate or adjust the campaign configuration data to meet the preferences or requirements of a publisher regarding the set up, administration, and publication of a campaign.

In one embodiment, the abstraction rules are extensible.

In one embodiment, the abstraction rules are automatically applied and performed.

In one embodiment, the abstraction rules are selectively applied. The abstraction rules may be selectively applied by the administrator. In one embodiment, the application of selected abstraction rules reflect preferences of the administrator. In one embodiment, the abstraction rules are selectively applied to reflect preferences of the platform 116.

Once the campaigns are active and submitted to a publisher using the publisher credentials 316, end users using end user computers 324 will be able to view advertisements when navigating to search engines 106 and publisher web sites 110. As a result of viewing pages on search engines 106 and publisher web sites 110 and the actions taken during that visit, tracking data and conversion data will be sent via the internet 114, web servers 118 and tracking server 122 and stored in the tracking database 322. The tracking data and the conversion data are aggregated by the analytics server 126 and stored in the statistics database 314.

The administrator uses the administrator computer 302 and the campaign results screens 328 to view campaign results across multiple publishers. The campaign results screens 328 requests data via the business logic server 308 which in turn requests data from the statistics database 314, publisher systems 320 and third party data sources 312. The business logic server 308 additionally aggregates data by keyword, publisher, campaign, ad group, destination landing page and other dimensions and allows data to be displayed in the campaign results screens 328 using these aggregations.

FIG. 4 illustrates a functional block diagram and method 400 of creating a campaign. The method 400 includes select campaign creation process 402, manually setup campaign process 404, import campaign from file process 406 and create campaign based on data process 408. In one embodiment, the processes of the method 400 and the functionality provided by the method 400 are served from and performed by the platform 116. In one embodiment, the processes of the method 400 and the functionality provided by the method 400 are performed by the platform 116 as well as the other computers such as the user computing devices 102.

In the select campaign creation process 402, the administrator selects the technique for creating the campaign, either manually defining the campaign, importing it from a file or instructing the system to automatically create the campaign.

When manually defining the campaign in the manually setup campaign process 404, the administrator enters campaign configuration data using the campaign configuration screens 304. When importing campaigns in the import campaign from file process 406, the platform 116 imports campaign configuration data from the file 310. When automatically creating campaigns in the create campaign based on data process 408, the platform 116 creates and structures a campaign based on data from the statistics database 314, publisher systems 320 and third party data sources 312. For example, the system can determine which keywords to use, which advertisements to use, how to structure ad groups, which publishers to advertise on, etc. based on experiential data.

In one embodiment, the administrator can create the campaign using one process and add to, edit or delete campaign configuration data from the campaign using one or more of the other processes.

FIG. 5 illustrates a functional block diagram and method 500 of handling a campaign and, in particular, processing campaigns, calculating bids, placing advertisements, and gathering data into a unified interface. The method 500 includes read campaign configuration data process 502, process campaign configuration data for specific publishers process 504, calculate bids on variants and place campaign with publishers process 506, gather data process 508, provide data to display in UI and reports process 510.

In the read campaign configuration data process 502, the platform 116 reads the campaign configuration data from the campaign database 306. In the process campaign configuration data for specific publishers process 504, the platform 116 reads the abstraction rules from the abstraction database 318 and modifies the campaign configuration data on a per publisher basis based on the abstraction rules.

In the calculate bids on variants and place campaign with publishers process 506, the platform 116 determines the bid amount for each variant and places the bids with publisher systems 320. In one embodiment, administrators can set bids manually. In one embodiment, the platform 116 may optimize bidding based on the effectiveness of keywords for each publisher. For example, the system may increase the bid price for a keyword that has a low cost per acquisition (e.g. the cost per acquiring the customer) to increase the ranking of the keyword to acquire more customers, and decrease the bid price for a keyword that has a high cost per acquisition.

In the gather data process 508, the system retrieves data, such as impressions, clicks, cost per click, average rank, click through rate, etc., from the statistics database 314, third party data sources 312 and publisher systems 320 and this data is provided to the administrator for display in the provide data for display in UI and reports process 510.

In one embodiment, the processes of the method 500 and the functionality provided by the method 500 are served from and performed by the platform 116. In one embodiment, the processes of the method 400 and the functionality provided by the method 500 are performed by the platform 116 as well as the other computers such as the user computing devices 102.

An exemplary screen 600 of the import campaign from file process 406 to select a file for import is shown in FIG. 6. The exemplary screen 600 of the import campaign from file process 406 includes an import paid search campaign page 602, a page header 604, a page description 606, a file input field 608, a browse button 610 and an import button 612.

The import paid search campaign page 602 is displayed and the page header 604 and page description 606 describe the purpose of the page. The administrator enters the name of the file to import in the file input field 608 or selects from a list of files in the administrator's computer or file server using the browse button 610. Once the file name is specified, the user selects the import button 612 to commence the import.

An exemplary screen 700 of the campaign results screens 328 to view campaign results is shown in FIG. 7. The exemplary screen 700 of the campaign results screens 328 includes a paid search optimization summary page 702, a page header 704, a key metrics region 706, a total visitors from paid search region 708 and an active campaigns region 710.

The paid search optimization summary page 702 is displayed and the page header 704 describes the purpose of the page. The key metrics region 706 displays summary information about the performance of all campaigns over a specific time period. The total visitors from paid search region 708 displays a graphical representation of the number of visitors and the cost per click over time. The active campaigns region 710 displays all the campaigns that are active and are being managed by the system.

In one embodiment, results can be displayed in aggregate, for a specific campaign, for a specific ad group, for a specific keyword, etc. In one embodiment, the system displays traffic (page views/impressions, unique visitors), cost, conversion value, click through rate and average ran; as well as ratios, averages and mathematical variants of the preceding values. In one embodiment, the administrator can adjust the time period for which to view results.

A first exemplary screen 800 of the campaign configuration screens 304 to administer campaign settings is shown in FIG. 8. The exemplary screen 800 of the campaign configuration screens 304 includes a campaign settings page 802, a campaign selector 804, a page title 806, a page description 808, a campaign settings region 810, an advanced keyword defaults for Google section 812, an advanced keyword defaults for other search engines 814, an active/inactive button 816 and an actions sidebar 818.

The campaign settings page 802 is displayed and the page title 806 and page description 808 describes the purpose of the page. The campaign selector 804 displays the campaign that is being configured and allows the administrator to select a different campaign to configure. The campaign settings region 810 displays the campaign level configuration data and their current settings; and allows the administrator to update the settings. The advanced keyword defaults for Google section 812 displays configuration data for campaigns placed with Google; and allows the administrator to update the settings. The advanced keyword defaults for other search engines 814 displays configuration data for campaigns placed with other search engines; and allows the administrator to update the settings. In one embodiment, settings are available for configuring campaign level data with other publishers. The active/inactive button 816 allows the administrator to enable or disable the campaign. If the button 816 shows the “More . . . ” label, the campaign cannot be enabled until additional configuration is complete. If the administrator clicks on the button 816, the platform 116 informs the administrator of the remaining steps that need to be completed before enabling the campaign. If the button has an “inactive” label, clicking on the button changes the status to inactive and the button label to active. If the button has an “active” label, clicking on the button changes that status to active and the button label to “inactive”. The actions sidebar 818 displays a list of the campaign configuration screens and allows the administrator to navigate to any of the screens. In one embodiment, there may be additional campaign configuration screens.

A second exemplary screen 900 of the campaign configuration screens 304 to manage keywords is shown in FIG. 9. The exemplary screen 900 of the campaign configuration screens 304 includes a manage keywords page 902, a campaign selector 904, a page title 906, a page description 908, a keywords region 910, a negative keywords region 912, a recommended keywords region 914, an active/inactive button 916 and an actions sidebar 918.

The manage keywords page 902 is displayed and the page title 906 and page description 908 describes the purpose of the page. The campaign selector 904 displays the campaign that is being configured and allows the administrator to select a different campaign to configure. The keywords region 910 displays the keywords for a campaign and their status; and allows an administrator to edit, disable, remove, add, export or import keywords. The negative keywords region 912 displays the negative keywords for a campaign and their status; and allows an administrator to edit, disable, remove or add negative keywords. The recommended keywords region 914 displays keywords the platform 116 recommends that the administrator add to the campaign and enables the administrator to select keywords and add them to the campaign. The active/inactive button 916 has the same behavior as the active/inactive button 816. The actions sidebar 918 has the same behavior as the active/inactive sidebar 818.

A third exemplary screen 1000 of the campaign configuration screens 304 to add keywords is shown in FIG. 10. The exemplary screen 1000 of the campaign configuration screens 304 includes a page title 1002, a page description 1004, a enter keywords field 1006, a cancel button 1008 and a save button 1010.

The page title 1002 and page description 1004 describes the purpose of the page. The administrator enters keywords to add in the enter keywords field 1006. When clicking the cancel button 1008, all keyword additions are discarded. When clicking the save button 1010, all keywords are added to the campaign. In one embodiment, the platform 116 de-duplicates keywords against an existing keyword list to avoid adding duplicate keywords.

A fourth exemplary screen 1100 of the campaign configuration screens 304 to edit keyword parameters is shown in FIG. 11. The exemplary screen 1100 of the campaign configuration screens 304 includes a page title 1102, a page description 1104, a keyword field 1106, options for Google region 1108, options for other search engines region 1110, a cancel button 1112 and a save button 1114.

The page title 1102 and page description 1104 describes the purpose of the page. The keyword field 1106 displays the keyword that campaign configuration data is being modified for. The options for Google region 1108 displays campaign configuration data for keywords placed with Google; and allows the administrator to update the settings. The options for other search engines region 1110 displays campaign configuration data for keywords placed with other search engines; and allows the administrator to update the settings. In one embodiment, options are available for configuring keyword level data with other publishers. When clicking the cancel button 1112, all updates are discarded. When clicking the save button 1010, the campaign configuration data is updated.

A fifth exemplary screen 1200 of the campaign configuration screens 304 to manage advertisements is shown in FIG. 12. The exemplary screen 1200 of the campaign configuration screens 304 includes a manage ads page 1202, a campaign selector 1204, a page title 1206, a page description 1208, a current ads region 1210, an active/inactive button 1212 and an actions sidebar 1214.

The manage ads page 1202 is displayed and the page title 1206 and page description 1208 describes the purpose of the page. The campaign selector 1204 displays the campaign that is being configured and allows the administrator to select a different campaign to configure. The current ads region 1210 displays the ads for a campaign, their status, key metrics; and allows an administrator to edit, disable, remove or add ads. The active/inactive button 1212 has the same behavior as the active/inactive button 816. The actions sidebar 1214 has the same behavior as the active/inactive sidebar 818.

A sixth exemplary screen 1300 of the campaign configuration screens 304 to administer geotargeting is shown in FIG. 13. The exemplary screen 1300 of the campaign configuration screens 304 includes a geotargeting page 1302, a campaign selector 1304, a page title 1306, a page description 1308, a geotargeting preferences region 1310, an active/inactive button 1312 and an actions sidebar 1314.

The geotargeting page 1302 is displayed and the page title 1306 and page description 1308 describes the purpose of the page. The campaign selector 1304 displays the campaign that is being configured and allows the administrator to select a different campaign to configure. The geotargeting preferences 1310 displays the current geotargeting settings for the campaign; and allows an administrator to modify those settings. The active/inactive button 1312 has the same behavior as the active/inactive button 816. The actions sidebar 1314 has the same behavior as the active/inactive sidebar 818.

A seventh exemplary screen 1400 of the campaign configuration screens 304 to manage a campaign budget is shown in FIG. 14. The exemplary screen 1400 of the campaign configuration screens 304 includes a budget page 1402, a campaign selector 1404, a page title 1406, a page description 1408, budget settings 1410, an active/inactive button 1412 and an actions sidebar 1414.

The budget page 1402 is displayed and the page title 1406 and page description 1408 describes the purpose of the page. The campaign selector 1404 displays the campaign that is being configured and allows the administrator to select a different campaign to configure. The budget settings 1410 displays the current budget by month for a calendar year and allows the administrator to navigate to previous and future years. It also allows an administrator to modify the budget for any current or future month. In one embodiment, when editing the budget for the current month, the platform 116 will cause a message to be displayed describing how the new budget will be spent over the month in progress. The budget settings will be spent for the campaign across all publishers or amongst the specific publishers specified in the campaign settings page 802. The active/inactive button 1412 has the same behavior as the active/inactive button 816. The actions sidebar 1414 has the same behavior as the active/inactive sidebar 818.

In one embodiment, the exemplary screens illustrated in FIGS. 6-14, including the data and functionality reflected in the screens, as described above, are provided and performed by the platform 116. In one embodiment, the exemplary screens illustrated in FIGS. 6-14, including the data and functionality reflected in the screens, are provided and performed by the platform 116 as well as other computers such as the user computing devices 102.

Various search engines, such as Yahoo, Google, and Bing, have been described herein and depicted in the accompanying figures. It should be appreciated these search engines are exemplary and not intended to be an exhaustive listing. In one embodiment, other search engines and/or others publishers also may be appropriately used.

FIG. 15 illustrates a block diagram of one embodiment of a system 1500 of the present invention. The system 1500 includes a first module 1510, a second module 1520, a third module 1530, an Nth module 1540, a video display 1550, and an input device 1560 coupled together through a bus 1570. As illustrated, the system 1500 includes the modules 1510, 1520, 1530, 1540 in one embodiment. In one embodiment, any number of modules can be implemented.

In one embodiment, the routines, steps, and functional blocks executed to implement the embodiments of the disclosure and all of the aforementioned features of the present invention may be variously implemented as computer modules 1510, 1520, 1530, 1540. In one embodiment, these computer modules can be a sequence of instructions referred to as “computer programs.”

In one embodiment, user input is provided to one or more of the modules using an input device 1560. The input device 1560 may be a keyboard, cursor control device, or voice recognition system, for example. In another embodiment, more than one input device may be used. In one embodiment, module output is displayed using a video display 1550.

FIG. 16 shows a diagrammatic representation of a machine in an exemplary form of a computer system 1600 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In one embodiment, the machine communicates with the server to facilitate operations of the server and/or to access the operations of the server.

The computer system 1600 includes a processor 1602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 1604 and a nonvolatile memory 1606, which communicate with each other via a bus 1608. In some embodiments, the computer system 1600 may be a laptop computer, personal digital assistant (PDA) or mobile phone, for example. The computer system 1600 may further include a video display unit 1610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1600 also includes an alphanumeric input device 1612 (e.g., a keyboard), a cursor control device 1614 (e.g., a mouse), a disk drive unit 1616, a signal generation device 1618 (e.g., a speaker) and a network interface device 1620. The disk drive unit 1616 includes a machine-readable medium (or computer readable medium) 1622 on which is stored one or more sets of instructions (e.g., software 1624) embodying any one or more of the methodologies or functions described herein. The software 1624 may also reside, completely or at least partially, within the main memory 1604 and/or within the processor 1602 during execution thereof by the computer system 1600, the main memory 1604 and the processor 1602 also constituting machine-readable media. The software 1624 may further be transmitted or received over a network 1640 via the network interface device 1620.

While the machine-readable medium (computer readable medium) 1622 is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” or “computer readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers).

An embodiment of the invention relates to a computer storage product with a computer-readable or machine-accessible medium having executable instructions or computer code thereon for performing various computer-implemented operations. The term “computer-readable medium” or “machine-accessible medium” is used herein to include any medium that is capable of storing or encoding a sequence of executable instructions or computer code for performing the operations described herein. The media and computer code can be those specially designed and constructed for the purposes of the invention, or can be of the kind well known and available to those having ordinary skill in the computer software arts.

Examples of computer-readable media include computer-readable storage media such as: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as Compact Disc-Read Only Memories (“CD-ROMs”), DVDs, and holographic devices; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits (“ASICs”), Programmable Logic Devices (“PLDs”), Read Only Memory (“ROM”) devices, and Random Access Memory (“RAM”) devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other programming language and development tools. Additional examples of computer code include encrypted code and compressed code. Another embodiment of the invention can be implemented in hard wired circuitry in place of, or in combination with, computer code.

In general, the routines, steps, and functional blocks executed to implement the embodiments of the disclosure and aforementioned features of the present invention may be implemented as part of an operating system or a specific application, component, program, object, module, or sequence of instructions referred to as “computer programs.” The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform operations to execute elements involving the various aspects of the disclosure.

While the invention has been described with reference to the specific embodiments thereof, it should be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the true spirit and scope of the invention as defined by the appended claims. In addition, many modifications may be made to adapt a particular situation, material, composition of matter, method, operation or operations, to the objective, spirit, and scope of the invention. All such modifications are intended to be within the scope of the claims appended hereto. In particular, while the methods disclosed herein have been described with reference to particular operations performed in a particular order, it will be understood that these operations may be combined, sub-divided, or reordered to form an equivalent method without departing from the teachings of the invention. Accordingly, unless specifically indicated herein, the order and grouping of the operations is not a limitation of the invention. 

1. A computer implemented method for administering an internet advertising campaign comprising: receiving, using a computing device, campaign configuration data; receiving a selection of publishers to run the campaign; and adjusting the campaign configuration data according to abstraction rules to conform to campaign requirements for each of the publishers.
 2. The method of claim 1 wherein the adjusting includes automatically applying the abstraction rules.
 3. The method of claim 1 wherein the abstraction rules include expanding keywords into match-type variants by associating each of the keywords with one or more match types permitted by a publisher.
 4. The method of claim 3 wherein the abstraction rules further include permitting separate bidding on each of the variants.
 5. The method of claim 1 wherein the abstraction rules include assembling of variants by associating a keyword with a match type and an ad in a same campaign or ad group as the keyword.
 6. The method of claim 1 wherein the abstraction rules include consolidating singular and plural forms of keywords for a publisher.
 7. The method of claim 1 wherein the abstraction rules include consolidating close variants of keywords to their canonical form.
 8. The method of claim 1 wherein the abstraction rules include expanding keywords to close grammatical variants for a publisher.
 9. The method of claim 1 wherein the abstraction rules include modifying text length of an advertisement for a publisher.
 10. The method of claim 1 further comprising optimizing bidding on keywords based on effectiveness of the keywords for each publisher.
 11. The method of claim 1 further comprising providing a unified user interface to allow capture of the campaign configuration data, the unified user interface not specific to a publisher.
 12. The method of claim 1 wherein the campaign configuration data includes a parameter from the set consisting of: campaign name, campaign settings, keywords, keyword settings, bid range, match type, target rank, negative keywords, ads, ad groups, targeting, budget, and any combination thereof.
 13. The method of claim 1 further comprising calculating a bid on a variant and placing the bid with a publisher.
 14. The method of claim 1 further comprising gathering statistical data about the campaign and providing the statistical data for display.
 15. The method of claim 1 further receiving a selection of one of a plurality of techniques for creation of the campaign.
 16. The method of claim 15 wherein the selection includes manual set up of the campaign.
 17. The method of claim 15 wherein the selection includes importation of the campaign.
 18. The method of claim 15 wherein the selection includes automatic creation of the campaign.
 19. A machine-readable medium having stored thereon a set of instructions, which when executed by a machine, perform a method comprising: receiving campaign configuration data; receiving a selection of publishers to run a campaign; and adjusting the campaign configuration data according to abstraction rules to conform to campaign requirements for each of the publishers.
 20. A computer system comprising: at least one server for: receiving campaign configuration data; receiving a selection of publishers to run a campaign; and adjusting the campaign configuration data according to abstraction rules to conform to campaign requirements for each of the publishers. 